home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / GEM / AESMENUS.D < prev    next >
Encoding:
Modula Definition  |  1990-10-09  |  5.1 KB  |  140 lines

  1. DEFINITION MODULE AESMenus;
  2.  
  3.  
  4. (*  Megamax-Modula 2 GEM-Library :  Die AES Menüfunktionen
  5.  *
  6.  *  Autor: Manuel Chakravarty           Erstellt :  05.11.87
  7.  *
  8.  *  Version   2.2     V#0007
  9.  *)
  10.  
  11.  
  12. (*      Dieses Modul stellt die Routinen zur Verfügung, die zum
  13.  *      Arbeiten mit Menuzeilen nötig sind. Darunter auch eine,
  14.  *      die es einem Programm erlaubt, sich als Accessory anzumelden.
  15.  *)
  16.  
  17.  
  18. FROM GEMGlobals IMPORT PtrObjTree, PtrMaxStr;
  19.  
  20.  
  21.                 (*  Menu Manager  *)
  22.                 (*  ============  *)
  23.  
  24. PROCEDURE MenuBar (tree: PtrObjTree; show: BOOLEAN);
  25.  
  26.         
  27.         (*  Diese Prozedur meldet eine Menüzeile an oder ab.
  28.          *
  29.          *  Eingabeparameter
  30.          *  ----------------
  31.          *
  32.          *  'show'      -- 'TRUE': das Menü wird angemeldet. Das bedeutet
  33.          *                 daß die Zeile am oberen Rand des Bildschirms
  34.          *                 dargestellt wird und daß bei einem folgende
  35.          *                 Aufruf einer Eventprozedur (siehe AESEvents)
  36.          *                 vom AES darauf geachtet wird, ob der Mauszei-
  37.          *                 ger die Menüzeile betritt.
  38.          *                 'FALSE': das Menü wird zwar nicht vom Bild-
  39.          *                 schirm gelöscht, aber es kann vom Anwender
  40.          *                 nicht mehr benutzt werden.
  41.          * 'tree'       -- muß einen Zeiger auf die Definition der Menü-
  42.          *                 zeile in Form eines Objektbaumes beinhalten.
  43.          *)
  44.         
  45. PROCEDURE CheckItem (tree: PtrObjTree; item: CARDINAL; check: BOOLEAN);
  46.  
  47.         (*  Diese Prozedur setzt oder löscht den Haken links neben
  48.          *  dem Menüeintrag.
  49.          *
  50.          *  Eingabeparameter
  51.          *  ----------------
  52.          *
  53.          *  'tree'      -- die Menüzeile in der der Eintrag steht.
  54.          *  'item'      -- der Eintrag
  55.          *  'check'     -- 'TRUE' : der Haken wird gesetzt.
  56.          *                 'FALSE': der Haken wird gelöscht.
  57.          *)
  58.         
  59. PROCEDURE EnableItem (tree: PtrObjTree; item: CARDINAL; enable: BOOLEAN);
  60.  
  61.         (*  Der Eintrag einer Menüzeile wird aktiviert oder deakti-
  62.          *  viert. Der Schriftzug eines deativierten Eintrages wird
  63.          *  aufgehellt dargestellt und kann vom Anwender nicht mehr
  64.          *  angewählt werden.
  65.          *
  66.          *  Eingabeparameter
  67.          *  ----------------
  68.          *
  69.          *  'item'      -- der Eintrag
  70.          *  'tree'      -- die Menüzeile, in der der Eintrag steht.
  71.          *  'enable'    -- 'TRUE' : Eintrag wird aktiviert
  72.          *                 'FALSE': Eintrag wird deaktiviert
  73.          *)
  74.         
  75. PROCEDURE NormalTitle (tree  : PtrObjTree;
  76.                        title : CARDINAL;
  77.                        normal: BOOLEAN);
  78.  
  79.         (*  Der Titel in einer Menüzeile wird normal oder invers
  80.          *  dargestellt. Die inverse Darstellung bedeutet, daß der
  81.          *  Title angwählt wurde.
  82.          *
  83.          *  Eingabeparameter
  84.          *  ----------------
  85.          *
  86.          *  'title'     -- Der Titel, der normal oder invers darge-
  87.          *                 stellt werden soll.
  88.          *  'tree'      -- Die Menüzeile, in der der Titel steht
  89.          *  'normal'    -- 'TRUE' : Titel normal darstellen
  90.          *                 'FALSE': Titel invers darstellen
  91.          *
  92.          *)
  93.  
  94. PROCEDURE MenuText (tree: PtrObjTree; item: CARDINAL; REF text: ARRAY OF CHAR);
  95.  
  96.         (*  Diese Routine erlaubt es, einem Menüeintrag einen neuen
  97.          *  Text zuzuweisen.
  98.          *
  99.          *  Eingabeparameter
  100.          *  ----------------
  101.          *
  102.          *  'item'      -- Der Menüeintrag
  103.          *  'text'      -- Der neue Text
  104.          *
  105.          *  Es ist darauf zu achten, daß die neue Zeichenkette nicht
  106.          *  länger als die Alte ist. Der Text sollte durch zwei Leer-
  107.          *  zeichen eingeleitet werden und am Ende mit Leerzeichen
  108.          *  aufgefüllt werden. Am Ende sollte mindestens ein Leerzei-
  109.          *  chen stehen.
  110.          *)
  111.  
  112. PROCEDURE RegisterAcc (    title  : PtrMaxStr;
  113.                        VAR id     : CARDINAL;
  114.                        VAR success: BOOLEAN);
  115.         
  116.         (*  Diese Prozedur darf nur von Accessories verwendet werden.
  117.          *  Sie trägt ein Accesory im Menü ein.
  118.          *
  119.          *  Eingabeparameter
  120.          *  ----------------
  121.          *
  122.          *  'title'     --'title^' ist die Zeichenkette des Accesory's
  123.          *                das in das Menü eingetragen werden soll.
  124.          *
  125.          *  Ausgabeparameter
  126.          *  ----------------
  127.          *
  128.          *  'success'   --'TRUE' : die Anmeldung war erfolgreich
  129.          *                'FALSE': Anmeldung war nicht erfolgreich
  130.          *  'id'        -- enthält, falls die Anmeldung erfolgreich war
  131.          *                 die Identifikationsnummer des Accesorry's
  132.          *                 die bei jeder 'accOpen' und 'accClose' Nach-
  133.          *                 richt angegeben wird. (Siehe AESEvents)
  134.          *
  135.          *  Es ist darauf zu achten, daß title^ eine globale Variable
  136.          *  ist!
  137.          *)
  138.         
  139.  
  140. END AESMenus.